1. Field of the Invention
The present invention generally relates to a method of transmitting data over electronic communication paths. More specifically, the present invention relates to a method of transmitting data to reduce the adverse effects of data loss during the communication.
2. Description of Related Art
Wide area networks (WANs) routinely experience packet loss. This packet loss is often detected by high level protocols like TCP/IP. Subsequent error-recovery processes force re-transmission of the lost data. This method is acceptable in many applications. However, real-time oriented data, such as compressed video, often cannot withstand the delays associated with the error recovery.
One of the most prolific and cost effect wide area networks is represented by existing cable networks. It is possible to deliver high speed digital data using the co-axial cable already connected in millions of households. However, these networks tend to have a noise level that is difficult to tolerate in a digital environment, especially for time-sensitive data.
Noise in the cable system has many potential sources, including loose connectors, cracked cables, broken multi-tap spigots, lightning, power line arcing, arc welding and short-wave and HAM broadcasts.
Measurements have shown that many existing noise sources produce effects that last 10-15 ms. In a typical environment using 10 MBit/second Ethernet as the digital delivery system, this can affect 10 or more successive packets. Therefore, any system which attempts to deal with error recovery in this scenario must allow for multiple successive packets to be lost.
Parity re-generation of lost data is a common technique in the data storage industry. Using modulo-2 arithmetic, a lost data block can be reconstructed using other data blocks in the same data group, together with a parity block that represents the modulo-2 addition of all the data blocks in the group.
To be useful in a wide area network experiencing multiple successive packet loss, the common technique of encoding a parity block for N successive data blocks will fail. Multiple packets in a group will be lost, making reconstruction impossible.
According to the present invention there is provided a method and apparatus for delivering digital data packets containing video information read from a storage device into a computer network which allows network transmission errors in successive data packets to be corrected during reception without re-transmitting the damaged packets over the network.
The steps of the invention include reading the stream of data packets containing the video information from a storage device; segregating the stream of data packets into a pre-determined number N of pre-reorganized groups, each pre-reorganized group containing a pre-determined number M of data packets; adding a parity packet to each pre-reorganized group, each parity packet containing information sufficient to enable recreation of a damaged data packet within the group; reorganizing the packets in the pre-determined number N of pre-reorganized groups into M+1 post-reorganized groups, each post-reorganized group containing N packets, no two of which are contained in any single pre-reorganized group; and delivering the post-reorganized groups into the computer network.
A system or an apparatus for delivering a stream of digital data packets containing video information into a computer network which allows network transmission errors in successive data packets to be corrected during reception without re-transmitting the damaged packets over the network is possible by integrating a storage device for storing the stream of digital data packets containing video information; a controller connected to the storage device for causing said storage device to output a stream of data packets containing the video information from; and a re-sequencer for interleaving, or reorganizing the output data stream.
The re-sequencer reorganizes the output data stream by segregating the stream of data packets into a pre-determined number N of pre-reorganized groups, each pre-reorganized group containing a pre-determined number M of data packets; adding a parity packet to each pre-reorganized group, each parity packet containing information sufficient to enable recreation of a damaged data packet within the group; reorganizing the packets in the pre-determined number N of pre-reorganized groups into M+1 post-reorganized groups, each post-reorganized group containing N packets, no two of which are contained in any single pre-reorganized group; and delivering the post-reorganized groups into the computer network.
By utilizing these methods and systems, data communication becomes less likely to require re-transmission of data due to consecutive data packet losses.